using System.Linq;
using Comdiv.Application;
using Comdiv.Conversations;
using Comdiv.Extensions;
using Comdiv.Inversion;
using Comdiv.IO;
using Comdiv.Logging;
using Comdiv.Model;
using Comdiv.Model.Interfaces;
using Comdiv.Persistence;
using Comdiv.Rules;
using Comdiv.Rules.Context;
using Comdiv.Security;
using Comdiv.Security.Acl;
using Comdiv.Rules.Support;

namespace Comdiv.Rules.Tests{
    public class MockEmptyContext : IRuleContext{
        private readonly IRuleDataProvider ruleData = new RuleDataProviderBase();
        private IDocumentProvider docs;
        private IParametersProvider<IRuleContext> @params;

        public IDocumentProvider Docs{
            get { return docs; }
        }

        public IRuleDataProvider RuleData{
            get { return ruleData; }
        }

        public IParametersProvider<IRuleContext> Params{
            get { return @params; }
        }
    }

    public class MockEmptyRule : RuleBase{
        public override bool Test(IRuleContext context){
            return true;
        }

        public override void Execute(IRuleContext context) {}
    }
}